SOFTWARE ENGINEERING
๐ SOFTWARE ENGINEERING (LT GRADE LEVEL)
1️⃣ SDLC / DLC MODELS (Software Development Life Cycle)
๐น What is SDLC?
SDLC is a step-by-step process to develop good quality software.
๐ Exam definition (1-line):
SDLC is a systematic process used to design, develop, test, and maintain software.
๐ SDLC Phases (Very Important ⭐⭐⭐)
-
Requirement Analysis – What user wants
-
Design – How software will look/work
-
Implementation (Coding) – Writing code
-
Testing – Finding errors
-
Deployment – Deliver to user
-
Maintenance – Fixing & updating software
๐ Mnemonic: R-D-I-T-D-M
๐ “Real Developers Implement Tested Digital Machines”
๐น Important SDLC Models (MCQ Favorite)
1️⃣ Waterfall Model ๐ง
-
Linear & sequential
-
One phase must finish before next starts
Advantages
✔ Simple
✔ Easy to manage
Disadvantages
❌ No flexibility
❌ Late testing
๐ Used when: Requirements are fixed
2️⃣ Spiral Model ๐
-
Risk-driven model
-
Combination of Waterfall + Prototyping
๐ Best for: Large & risky projects
3️⃣ Incremental Model ➕
-
Software developed in small parts (increments)
๐ Example: First login → then payment → then reports
4️⃣ Prototype Model ๐งช
-
Sample model shown to user first
-
Feedback taken before final product
๐ Used when: Requirements are unclear
๐ MCQ Tip:
-
Waterfall → Fixed requirement
-
Spiral → Risk
-
Prototype → User interaction
-
Incremental → Small modules
2️⃣ SOFTWARE TESTING ๐งช
๐น What is Software Testing?
Testing is the process of finding errors (bugs) in software.
๐ Exam definition:
Software testing ensures that software works correctly and meets user requirements.
๐ Levels of Testing
1️⃣ Unit Testing
-
Tests individual modules
-
Done by developer
2️⃣ Integration Testing
-
Tests interaction between modules
3️⃣ System Testing
-
Tests whole system
4️⃣ Acceptance Testing
-
Done by customer
-
Final approval
๐ง Types of Testing (Very Important)
๐น Black Box Testing
-
No knowledge of internal code
-
Focus on input & output
๐ Example: Login works or not
๐น White Box Testing
-
Internal code knowledge required
-
Focus on logic & paths
๐น Regression Testing
-
Ensures new changes do not break old features
๐น Alpha vs Beta Testing
| Alpha | Beta |
|---|---|
| Done by developers | Done by users |
| Before release | After release |
3️⃣ UML (Unified Modeling Language) ๐
๐น What is UML?
UML is a standard visual language used to design and document software.
๐ Exam definition:
UML is used to represent software system structure and behavior using diagrams.
๐น Important UML Diagrams (Must Remember ⭐⭐⭐)
1️⃣ Use Case Diagram
-
Shows interaction between user & system
-
Actors + Use cases
๐ Example: Student → Login, View Result
2️⃣ Class Diagram
-
Shows classes, attributes, methods
-
Backbone of OOP
3️⃣ Sequence Diagram
-
Shows message flow over time
4️⃣ Activity Diagram
-
Shows workflow / flowchart
๐ UML Quick Match (MCQ)
| Diagram | Used For |
|---|---|
| Use Case | User interaction |
| Class | Structure |
| Sequence | Message flow |
| Activity | Workflow |
4️⃣ SOFTWARE QUALITY ⭐
๐น What is Software Quality?
Quality means software should be correct, reliable, and user-friendly.
๐ Exam definition:
Software quality is the degree to which software meets user requirements and standards.
๐ Software Quality Attributes (ISO Model Based)
1️⃣ Correctness – Gives correct output
2️⃣ Reliability – Works without failure
3️⃣ Efficiency – Uses less memory & time
4️⃣ Usability – Easy to use
5️⃣ Maintainability – Easy to modify
6️⃣ Portability – Works on different platforms
๐ Mnemonic: C-R-E-U-M-P
๐ Quality Assurance vs Quality Control
| QA | QC |
|---|---|
| Process-oriented | Product-oriented |
| Prevents defects | Finds defects |
| Before development | After development |
๐ง LAST-MINUTE EXAM NOTES (VERY IMPORTANT)
✔ SDLC → systematic development
✔ Waterfall → no backtracking
✔ Spiral → risk analysis
✔ Black box → no code
✔ White box → code knowledge
✔ UML → visual design language
✔ Software quality → user satisfaction
Comments
Post a Comment